home *** CD-ROM | disk | FTP | other *** search
/ Garbo / Garbo.cdr / mac / hypercrd / hc1_2_x / rsrclbry.sit / Resource_Library.bin / Resource Library / stack_-1.xml < prev    next >
Encoding:
Extensible Markup Language  |  1989-05-28  |  4.0 KB  |  16 lines

  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <!DOCTYPE stack PUBLIC "-//Apple, Inc.//DTD stack V 2.0//EN" "" >
  3. <stack>
  4.     <name>in</name>
  5.     <id>-1</id>
  6.     <cardCount>11</cardCount>
  7.     <cardID>2878</cardID>
  8.     <listID>5709</listID>
  9.     <cantModify><false /></cantModify>
  10.     <cantDelete><true /></cantDelete>
  11.     <cantAbort><false /></cantAbort>
  12.     <cardSize>
  13.         <width>512</width>
  14.         <height>342</height>
  15.     </cardSize>
  16.     <script>on openStack
  17. global runHilite, External_Error, StackName, menuVis, msgVis
  18. put "" into External_Error
  19. put false into runHilite
  20. put true into menuVis
  21. put false into msgVis
  22. put word two of the long name of this stack into tmp
  23. put length(tmp) into len
  24. put char 2 to (len-1) of tmp into StackName
  25. set lockscreen to true
  26. push card
  27. go to card "Add"
  28. send InitAdd
  29. go to card "Paste"
  30. send InitPaste
  31. pop card
  32. set lockscreen to false
  33. end openStack
  34.  
  35. -- determine line hit for mouse down in field
  36. function Clickline
  37. if the style of the target is "scrolling" then
  38. put the scroll of the target into s
  39. else
  40. put zero into s
  41. end if
  42. return (trunc((s ┬¼
  43. + (item two of the clickloc) ┬¼
  44. - (item two of the rect of the target)) ┬¼
  45. div the textheight of the target) + one)
  46. end Clickline
  47.  
  48. -- should be simpler!
  49. function number_of_cards_of_this_background
  50. if the version >= 1.2 then
  51. return the number of cds of this bg
  52. end if
  53. set lockscreen to true
  54. put the name of this card into start
  55. put 1 into count
  56. go to next card of this background
  57. repeat while (the name of this card) <> start
  58. add 1 to count
  59. go to next card of this background
  60. end repeat
  61. set lockscreen to false
  62. return count
  63. end number_of_cards_of_this_background
  64.  
  65. on AddCard type, name
  66. if type = "XCMD" then
  67. go to last card of background "Commands"
  68. else if type = "XFCN" then
  69. go to last card of background "Functions"
  70. else if type = "ICON" then
  71. go to last card of background "Icons"
  72. else if type = "CURS" then
  73. go to last card of background "Cursors"
  74. else if type = "snd " then
  75. go to last card of background "Sounds"
  76. else
  77. exit AddCard
  78. end if
  79. AddNewCard name
  80. end AddCard
  81.  
  82. -- deleteCard & newCard, be fancy with next and prev buttons
  83. on deleteCard
  84. if number_of_cards_of_this_background() = 2 then
  85. set visible of background button "Next" to false
  86. set visible of background button "Prev" to false
  87. set visible of background button "Scan" to false
  88. else
  89. set visible of background button "Next" to true
  90. set visible of background button "Prev" to true
  91. set visible of background button "Scan" to true
  92. end if
  93. end deleteCard
  94.  
  95. on newCard
  96. if number_of_cards_of_this_background() = 1 then
  97. set visible of background button "Next" to false
  98. set visible of background button "Prev" to false
  99. set visible of background button "Scan" to false
  100. else
  101. set visible of background button "Next" to true
  102. set visible of background button "Prev" to true
  103. set visible of background button "Scan" to true
  104. end if
  105. end newCard
  106.  
  107. on doHilite
  108. global runHilite
  109.  
  110. if runHilite and not (visible of msg) then
  111. highlight a
  112. end if
  113. put not runHilite into runHilite
  114. end doHilite
  115.  
  116. on resetHighlight
  117. put "" into background field "HighlightAreas"
  118. end resetHighlight
  119.  
  120. -- deleteRes & renameRes, used for "card" resources e.g. XCMDs
  121. on deleteRes assoc
  122. global External_Error, StackName
  123.  
  124. if number_of_cards_of_this_background() = 1 then
  125. answer "Sorry, you can't delete the last" ┬¼
  126. && background field "resType" with "OK"
  127. exit deleteRes
  128. else if (the version >= 1.2) then
  129. if (the cantDelete of this card) then
  130. answer "This resource is required by this stack!"
  131. exit deleteRes
  132. end if
  133. end if
  134.  
  135. answer "PERMANENTLY delete" && ┬¼
  136. background field "Name" & "?" with "Yes" or "No"
  137. if it = "Yes"
  138. then
  139. ResHandle "dele", StackName, background field "resType", background field "Name"
  140. if "ok" is in External_Error then
  141. if assoc <> "" then
  142. repeat while number of lines in assoc > 1 do
  143. put line 1 of assoc into rname
  144. delete line 1 of assoc
  145. put word 1 of rname into rtype
  146. delete word 1 of rname
  147. ResHandle "dele", StackName, rtype, rname
  148. end repeat
  149. end if
  150. put the name of next card of this background into dest
  151. doMenu "Delete Card"
  152. go to dest
  153. else
  154. answer "Delete failed:" && External_